package com.sg.java.entity;

import lombok.Builder;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.StringJoiner;

@Data
@Builder
public class VoltageQualified {

    //越上限下标的buffer
    private StringBuilder upBuilder;

    //越下限下标的buffer
    private StringBuilder downBuilder;

    //当前下标
    private Integer index;

    //当前电压值
    private Double voltage;

    //越上限阈值
    private Double up;

    //越下限阈值
    private Double down;

    //上限阈值2
    private Double up2;

    //下限阈值2
    private Double down2;

    //最大值点
    private Double max;

    //最小值
    private Double min;

    private int maxUOffset;

    private int minUOffset;

    private Date maxValueTime;

    private Date minValueTime;

    private int offset;

    //电压实际采集数
    private Double realVoltagePoint;


    //总越上时间
    private Double upTime;

    //总越下时间
    private Double downTime;

    //有效总时间
    private Double validDataTime;

    //总监测时间
    private Double monitorTime;

    //电压等级
    private String dydj;

    //电压平均值
    private Double totalU;

    private Double notNullPoint;

    // 有效数据越上限制
    private Double effectiveDataUper;

    // 有效数据越下限制
    private Double effectiveDataLower;

    //有效数据时间
    private Double effectiveDataTime;

    //是否有效 1有效 2无效
    private String valid;

    //配变用户严重越上阈值
    private Double yzYhPbUper;

    //配变用户严重越下阈值
    private Double yzYhPbDown;

    //配变严重约上时间
    private Integer yzyxTime;

    //用户异常情况集合
    private String consType;


    //用户长期高电压点数集合
    private ArrayList<Integer> yhLongTimeUperArray;

    //用户长期低电压点数集合
    private ArrayList<Integer> yhLongTimeDownArray;

    //用户严重高电压点数集合
    private ArrayList<Integer> yhSeverityUperArray;

    //用户严重低电压点数集合
    private ArrayList<Integer> yhSeverityDownArray;


    //电压采集点数
    private Integer dyCount;

    //是否城农网  1-城网  2-农网
    private String gridType;

    //配变电压值异常次数
    private Integer pbcs;

    //配变类型
    private String pbType;


    //配变标准电压值
    private Double standard;

    //配变高电压类型阈值
    private Double high;

    //配变低电压类型阈值
    private Double low;

    //越高数组
    private StringJoiner highVoltage;

    //越下数组
    private StringJoiner lowVoltage;

    //严重高数组
    private StringJoiner severeHighVoltage;

    //严重低数组
    private StringJoiner severelyLowVoltage;

    //约上时间
    private Double highTime;

    private Double lowTime;

    private Double severeHighTime;

    private Double severelyLowTime;

    private Integer highCs;

    private Integer lowCs;

    private Integer severeHighCs;

    private Integer severelyLowCs;

    //当前电压点是否越限 0-正常 1-越上限 2-越下限
    private Integer isYx;

    //实采点数
    private Integer dyPCount;

    //监测时间数组
    private StringJoiner monitoringTimeArray;

    //监测时间集合
//    private ArrayList<Integer> monitoringTimeList;

    //全部电压原始值
    private StringJoiner voltArray;

    //越上累加点数
    private Integer gaoSum;

    //越下累加点数
    private Integer diSum;

    //严重高累加点数
    private Integer yzGaoSum;

    //严重低累加点数
    private Integer yzDiSum;

    private String isYX;

    private String exceptionCode;

    public String getExceptionCode() {
        return exceptionCode;
    }

    public void setExceptionCode(String exceptionCode) {
        this.exceptionCode = exceptionCode;
    }

    public StringBuilder getUpBuilder() {
        return upBuilder;
    }

    public void setUpBuilder(StringBuilder upBuilder) {
        this.upBuilder = upBuilder;
    }

    public StringBuilder getDownBuilder() {
        return downBuilder;
    }

    public void setDownBuilder(StringBuilder downBuilder) {
        this.downBuilder = downBuilder;
    }

    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }

    public Double getVoltage() {
        return voltage;
    }

    public void setVoltage(Double voltage) {
        this.voltage = voltage;
    }

    public Double getUp() {
        return up;
    }

    public void setUp(Double up) {
        this.up = up;
    }

    public Double getDown() {
        return down;
    }

    public void setDown(Double down) {
        this.down = down;
    }

    public Double getUp2() {
        return up2;
    }

    public void setUp2(Double up2) {
        this.up2 = up2;
    }

    public Double getDown2() {
        return down2;
    }

    public void setDown2(Double down2) {
        this.down2 = down2;
    }

    public Double getMax() {
        return max;
    }

    public void setMax(Double max) {
        this.max = max;
    }

    public Double getMin() {
        return min;
    }

    public void setMin(Double min) {
        this.min = min;
    }

    public int getMaxUOffset() {
        return maxUOffset;
    }

    public void setMaxUOffset(int maxUOffset) {
        this.maxUOffset = maxUOffset;
    }

    public int getMinUOffset() {
        return minUOffset;
    }

    public void setMinUOffset(int minUOffset) {
        this.minUOffset = minUOffset;
    }

    public Date getMaxValueTime() {
        return maxValueTime;
    }

    public void setMaxValueTime(Date maxValueTime) {
        this.maxValueTime = maxValueTime;
    }

    public Date getMinValueTime() {
        return minValueTime;
    }

    public void setMinValueTime(Date minValueTime) {
        this.minValueTime = minValueTime;
    }

    public int getOffset() {
        return offset;
    }

    public void setOffset(int offset) {
        this.offset = offset;
    }

    public Double getRealVoltagePoint() {
        return realVoltagePoint;
    }

    public void setRealVoltagePoint(Double realVoltagePoint) {
        this.realVoltagePoint = realVoltagePoint;
    }

    public Double getUpTime() {
        return upTime;
    }

    public void setUpTime(Double upTime) {
        this.upTime = upTime;
    }

    public Double getDownTime() {
        return downTime;
    }

    public void setDownTime(Double downTime) {
        this.downTime = downTime;
    }

    public Double getValidDataTime() {
        return validDataTime;
    }

    public void setValidDataTime(Double validDataTime) {
        this.validDataTime = validDataTime;
    }

    public Double getMonitorTime() {
        return monitorTime;
    }

    public void setMonitorTime(Double monitorTime) {
        this.monitorTime = monitorTime;
    }

    public String getDydj() {
        return dydj;
    }

    public void setDydj(String dydj) {
        this.dydj = dydj;
    }

    public Double getTotalU() {
        return totalU;
    }

    public void setTotalU(Double totalU) {
        this.totalU = totalU;
    }

    public Double getNotNullPoint() {
        return notNullPoint;
    }

    public void setNotNullPoint(Double notNullPoint) {
        this.notNullPoint = notNullPoint;
    }

    public Double getEffectiveDataUper() {
        return effectiveDataUper;
    }

    public void setEffectiveDataUper(Double effectiveDataUper) {
        this.effectiveDataUper = effectiveDataUper;
    }

    public Double getEffectiveDataLower() {
        return effectiveDataLower;
    }

    public void setEffectiveDataLower(Double effectiveDataLower) {
        this.effectiveDataLower = effectiveDataLower;
    }

    public Double getEffectiveDataTime() {
        return effectiveDataTime;
    }

    public void setEffectiveDataTime(Double effectiveDataTime) {
        this.effectiveDataTime = effectiveDataTime;
    }

    public String getValid() {
        return valid;
    }

    public void setValid(String valid) {
        this.valid = valid;
    }

    public Double getYzYhPbUper() {
        return yzYhPbUper;
    }

    public void setYzYhPbUper(Double yzYhPbUper) {
        this.yzYhPbUper = yzYhPbUper;
    }

    public Double getYzYhPbDown() {
        return yzYhPbDown;
    }

    public void setYzYhPbDown(Double yzYhPbDown) {
        this.yzYhPbDown = yzYhPbDown;
    }

    public Integer getYzyxTime() {
        return yzyxTime;
    }

    public void setYzyxTime(Integer yzyxTime) {
        this.yzyxTime = yzyxTime;
    }

    public String getConsType() {
        return consType;
    }

    public void setConsType(String consType) {
        this.consType = consType;
    }

    public ArrayList<Integer> getYhLongTimeUperArray() {
        return yhLongTimeUperArray;
    }

    public void setYhLongTimeUperArray(ArrayList<Integer> yhLongTimeUperArray) {
        this.yhLongTimeUperArray = yhLongTimeUperArray;
    }

    public ArrayList<Integer> getYhLongTimeDownArray() {
        return yhLongTimeDownArray;
    }

    public void setYhLongTimeDownArray(ArrayList<Integer> yhLongTimeDownArray) {
        this.yhLongTimeDownArray = yhLongTimeDownArray;
    }

    public ArrayList<Integer> getYhSeverityUperArray() {
        return yhSeverityUperArray;
    }

    public void setYhSeverityUperArray(ArrayList<Integer> yhSeverityUperArray) {
        this.yhSeverityUperArray = yhSeverityUperArray;
    }

    public ArrayList<Integer> getYhSeverityDownArray() {
        return yhSeverityDownArray;
    }

    public void setYhSeverityDownArray(ArrayList<Integer> yhSeverityDownArray) {
        this.yhSeverityDownArray = yhSeverityDownArray;
    }


    public Integer getDyCount() {
        return dyCount;
    }

    public void setDyCount(Integer dyCount) {
        this.dyCount = dyCount;
    }

    public String getGridType() {
        return gridType;
    }

    public void setGridType(String gridType) {
        this.gridType = gridType;
    }

    public Integer getPbcs() {
        return pbcs;
    }

    public void setPbcs(Integer pbcs) {
        this.pbcs = pbcs;
    }

    public String getPbType() {
        return pbType;
    }

    public void setPbType(String pbType) {
        this.pbType = pbType;
    }

    public Double getStandard() {
        return standard;
    }

    public void setStandard(Double standard) {
        this.standard = standard;
    }

    public Double getHigh() {
        return high;
    }

    public void setHigh(Double high) {
        this.high = high;
    }

    public Double getLow() {
        return low;
    }

    public void setLow(Double low) {
        this.low = low;
    }

    public StringJoiner getHighVoltage() {
        return highVoltage;
    }

    public void setHighVoltage(StringJoiner highVoltage) {
        this.highVoltage = highVoltage;
    }

    public StringJoiner getLowVoltage() {
        return lowVoltage;
    }

    public void setLowVoltage(StringJoiner lowVoltage) {
        this.lowVoltage = lowVoltage;
    }

    public StringJoiner getSevereHighVoltage() {
        return severeHighVoltage;
    }

    public void setSevereHighVoltage(StringJoiner severeHighVoltage) {
        this.severeHighVoltage = severeHighVoltage;
    }

    public StringJoiner getSeverelyLowVoltage() {
        return severelyLowVoltage;
    }

    public void setSeverelyLowVoltage(StringJoiner severelyLowVoltage) {
        this.severelyLowVoltage = severelyLowVoltage;
    }

    public Double getHighTime() {
        return highTime;
    }

    public void setHighTime(Double highTime) {
        this.highTime = highTime;
    }

    public Double getLowTime() {
        return lowTime;
    }

    public void setLowTime(Double lowTime) {
        this.lowTime = lowTime;
    }

    public Double getSevereHighTime() {
        return severeHighTime;
    }

    public void setSevereHighTime(Double severeHighTime) {
        this.severeHighTime = severeHighTime;
    }

    public Double getSeverelyLowTime() {
        return severelyLowTime;
    }

    public void setSeverelyLowTime(Double severelyLowTime) {
        this.severelyLowTime = severelyLowTime;
    }

    public Integer getHighCs() {
        return highCs;
    }

    public void setHighCs(Integer highCs) {
        this.highCs = highCs;
    }

    public Integer getLowCs() {
        return lowCs;
    }

    public void setLowCs(Integer lowCs) {
        this.lowCs = lowCs;
    }

    public Integer getSevereHighCs() {
        return severeHighCs;
    }

    public void setSevereHighCs(Integer severeHighCs) {
        this.severeHighCs = severeHighCs;
    }

    public Integer getSeverelyLowCs() {
        return severelyLowCs;
    }

    public void setSeverelyLowCs(Integer severelyLowCs) {
        this.severelyLowCs = severelyLowCs;
    }

    public Integer getIsYx() {
        return isYx;
    }

    public void setIsYx(Integer isYx) {
        this.isYx = isYx;
    }

    public Integer getDyPCount() {
        return dyPCount;
    }

    public void setDyPCount(Integer dyPCount) {
        this.dyPCount = dyPCount;
    }

    public StringJoiner getMonitoringTimeArray() {
        return monitoringTimeArray;
    }

    public void setMonitoringTimeArray(StringJoiner monitoringTimeArray) {
        this.monitoringTimeArray = monitoringTimeArray;
    }

    public StringJoiner getVoltArray() {
        return voltArray;
    }

    public void setVoltArray(StringJoiner voltArray) {
        this.voltArray = voltArray;
    }

    public Integer getGaoSum() {
        return gaoSum;
    }

    public void setGaoSum(Integer gaoSum) {
        this.gaoSum = gaoSum;
    }

    public Integer getDiSum() {
        return diSum;
    }

    public void setDiSum(Integer diSum) {
        this.diSum = diSum;
    }

    public Integer getYzGaoSum() {
        return yzGaoSum;
    }

    public void setYzGaoSum(Integer yzGaoSum) {
        this.yzGaoSum = yzGaoSum;
    }

    public Integer getYzDiSum() {
        return yzDiSum;
    }

    public void setYzDiSum(Integer yzDiSum) {
        this.yzDiSum = yzDiSum;
    }

    public String getIsYX() {
        return isYX;
    }

    public void setIsYX(String isYX) {
        this.isYX = isYX;
    }
}
